其他
XAntiDenbug的检测逻辑与基本反调试
FLAG_DETECT_DEBUGGER | FLAG_DETECT_HARDWAREBREAKPOINT)
_isWow64 代表是64位环境运行32位程序
句柄-1 是进程的句柄 -2是当前线程的句柄
0x11 ThreadHideFromDebugger = 17,
wrk源码
运行XAD_Initialize函数
然后调用XAD_ExecuteDetect进行检测
1 crc 检测 节表 我们的构造的系统调用 可以防止下代码段被修改
2 IsDebuggerPresent 检测当前是否正在被调试
检测BeingDebugged的值。
3 CheckRemoteDebuggerPresent
实际上是查询NtQueryInformationProcess ProcessDebugPort。
4 关闭一个无效句柄 如果被调试会进入异常
5 使用DuplicateHandle进行检测
6 检测StrongOD
7 NtQueryInformationProcess检测 0x1E ProcessDebugObjectHandle
8 内核二次覆盖的BUG来检测反调试
9 使用GetThreadContext检测 检测当前线程是否使用硬件断点
10 使用VEH检测
调用HardwareBreakpointRoutine触发异常 检测硬件断点。
看雪ID:tian_chen
https://bbs.kanxue.com/user-home-941362.htm
# 往期推荐
6、Chrome v8漏洞 CVE-2021-30632浅析
球分享
球点赞
球在看
点击阅读原文查看更多